package com.huimin.merchant.convert;

import com.huimin.merchant.dto.MerchantDTO;
import com.huimin.merchant.entity.Merchant;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * @author amx
 * @date 2020/12/1 20:42
 */
@Mapper
public interface MerchantConvert {

	/**
	 * 实现对象转换的对象
	 */
	MerchantConvert INSTANCE = Mappers.getMapper(MerchantConvert.class);

	/**
	 * DTO转换为entity
	 */
	Merchant dto2Entity(MerchantDTO dto);

	/**
	 * entity转换为DTO
	 */
	MerchantDTO entity2DTO(Merchant merchant);

	/**
	 * 实体类集合转换为DTO的集合
	 */
	List<MerchantDTO> listEntity2ListDTO(List<Merchant> merchantList);

	/**
	 * DTO的集合转换为实体类集合
	 */
	List<Merchant> listDTO2ListEntity(List<MerchantDTO> merchantDTOList);


	public static void main(String[] args) {

		MerchantDTO dto = new MerchantDTO();
		dto.setId(123456L);
		dto.setMerchantName("张三律师事务所");
		Merchant merchant = INSTANCE.dto2Entity(dto);
		System.out.println(merchant);

	}
}
